package com.playtruly.wanzhende2025

import android.content.Context
import android.util.Log
import cn.jpush.android.api.JPushInterface

/**
 * JPush 工具类
 * 用于检查 JPush 状态和获取 Registration ID
 */
object JPushUtil {
    private const val TAG = "JPushUtil"

    /**
     * 检查 JPush 初始化状态
     */
    fun checkJPushStatus(context: Context) {
        try {
            Log.d(TAG, "🔍 =============== 检查 JPush 状态 ===============")
            
            // 获取 Registration ID
            val registrationId = JPushInterface.getRegistrationID(context)
            Log.d(TAG, "📱 Registration ID: $registrationId")
            
            if (registrationId.isNotEmpty()) {
                Log.d(TAG, "✅ JPush 初始化成功，已获取到 Registration ID")
                Log.d(TAG, "🚀 现在可以在极光控制台发送测试推送了！")
                Log.d(TAG, "📱 AppKey: 09a7d1e089ee25fde90cde49")
                Log.d(TAG, "📱 Registration ID: $registrationId")
            } else {
                Log.w(TAG, "⚠️ Registration ID 为空，JPush 可能还在初始化中...")
            }
            
        } catch (e: Exception) {
            Log.e(TAG, "❌ 检查 JPush 状态失败: ${e.message}")
        }
    }
    
    /**
     * 设置别名（用于精准推送）
     */
    fun setAlias(context: Context, alias: String) {
        try {
            JPushInterface.setAlias(context, 1001, alias)
            Log.d(TAG, "🏷️ 设置别名: $alias")
        } catch (e: Exception) {
            Log.e(TAG, "❌ 设置别名失败: ${e.message}")
        }
    }
    
    /**
     * 设置标签（用于分组推送）
     */
    fun setTags(context: Context, tags: Set<String>) {
        try {
            JPushInterface.setTags(context, 1002, tags)
            Log.d(TAG, "🏷️ 设置标签: $tags")
        } catch (e: Exception) {
            Log.e(TAG, "❌ 设置标签失败: ${e.message}")
        }
    }
}
